System and method to control a three-dimensional (3d) printer

ABSTRACT

A three-dimensional (3D) printer device includes an extruder configured to deposit a material on a deposition platform, an actuator coupled to at least one of the extruder or the deposition platform, and a controller coupled to the actuator. The controller is configured to cause the extruder to deposit a first portion of the material corresponding to a first line, and after depositing a second portion of the material corresponding to a first end of the first line, to cause relative motion of the extruder and the deposition platform such that the extruder moves back along the first line while the extruder concurrently moves away from the deposition platform.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/208,222, filed Aug. 21, 2015 and entitled“Closed-Loop 3D Printing Incorporating Sensor Feedback,” U.S.Provisional Patent Application No. 62/340,389, filed May 23, 2016 andentitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL (3D)PRINTER,” U.S. Provisional Patent Application No. 62/340,421, filed May23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL A THREE-DIMENSIONAL(3D) PRINTER,” U.S. Provisional Patent Application No. 62/340,453, filedMay 23, 2016 and entitled “SYSTEM AND METHOD TO CONTROL ATHREE-DIMENSIONAL (3D) PRINTING DEVICE,” U.S. Provisional PatentApplication No. 62/340,436, filed May 23, 2016 and entitled “SYSTEM ANDMETHOD TO CONTROL A THREE-DIMENSIONAL (3D) PRINTER,” and U.S.Provisional Patent Application No. 62/340,432, filed May 23, 2016 andentitled “3D PRINTER CALIBRATION AND CONTROL;” the contents of each ofthe aforementioned applications are expressly incorporated herein byreference in their entirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to control of athree-dimensional (3D) printer device.

BACKGROUND

Improvements in computing technologies and material processingtechnologies have led to an increased interest in computer-drivenadditive manufacturing techniques, such as three-dimensional (3D)printing. Generally, 3D printing is performed using a 3D printer devicethat includes an extruder, one or more actuators, and a controllercoupled to some form of structural alignment system, such as a frame.The controller is configured to control the extruder and the actuatorsto deposit material, such as a polymer-based material, in a controlledarrangement to form a physical object.

SUMMARY

In a particular implementation, a method includes obtaining model datarepresenting a three-dimensional (3D) model of an object. The methodalso includes processing the model data to generate a set of commands todirect a 3D printer device to extrude a material to form a physicalmodel associated with the object. The set of commands includes one ormore first commands to cause relative motion of an extruder of the 3Dprinter device and a deposition platform of the 3D printer device duringdeposition a first portion of the material to form a portion of a firstline, and after depositing a second portion of the materialcorresponding to a first end of the first line, to cause relative motionof the extruder and the deposition platform such that the extruder movesback along the first line while the extruder concurrently moves awayfrom the deposition platform.

In another particular implementation, a method includes obtaining modeldata representing a three-dimensional (3D) model of an object. Themethod also includes processing the model data to generate a set ofcommands to direct a 3D printer device to extrude a material to form aphysical model associated with the object. The set of commands includesone or more first commands to cause relative motion of an extruder ofthe 3D printer device and a deposition platform of the 3D printer deviceduring deposition of a portion of the material corresponding to a line.The set of commands further includes one or more second commands toadjust an extrusion rate of the extruder based on an acceleration rateof the relative motion.

In a particular implementation, a three-dimensional (3D) printer deviceincludes an extruder configured to deposit a material on a depositionplatform, an actuator coupled to at least one of the extruder or thedeposition platform, and a controller coupled to the actuator. Thecontroller is configured to cause the extruder to deposit a firstportion of the material corresponding to a first line, and afterdepositing a second portion of the material corresponding to a first endof the first line, to cause relative motion of the extruder and thedeposition platform such that the extruder moves back along the firstline while the extruder concurrently moves away from the depositionplatform.

In another particular implementation, a three-dimensional (3D) printerdevice includes an extruder configured to deposit a material on adeposition platform, an actuator coupled to at least one of the extruderor the deposition platform, and a controller coupled to the actuator.The controller is configured to cause the actuator to cause relativemotion of the extruder and the deposition platform during deposition ofa portion of the material corresponding to a line and to adjust a flowrate of the extruder based on an acceleration rate of the relativemotion.

In another particular implementation, a method includes moving anextruder of a three-dimensional (3D) printer device relative to adeposition platform of the 3D printer device during deposition amaterial to form a portion of a first line. The method also includes,after depositing a portion of the material corresponding to a first endof the first line, moving the extruder back along the first line andconcurrently moving the extruder away from the deposition platform.

In another particular implementation, a method includes during extrusionof a material by an extruder of a three-dimensional (3D) printer device,moving the extruder relative to a deposition platform of the 3D printerdevice. The method also includes, during movement of the extruder,adjusting an extrusion rate of the extruder based on an accelerationrate of relative motion of the extruder and the deposition platform.

The features, functions, and advantages that have been described can beachieved independently in various implementations or may be combined inyet other implementations, further details of which are disclosed withreference to the following description and drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram that illustrates a system that includes athree-dimensional (3D) printing device, according to a particularembodiment;

FIGS. 2A, 2B and 2C illustrate extruding a material by a 3D printingdevice, according to particular embodiments;

FIGS. 3A, and 3B illustrate extruding a material by a 3D printingdevice, according to particular embodiments;

FIG. 4 is a diagram that illustrates a particular embodiment of a methodof slicing a 3D model to form commands to control a 3D printing device;

FIGS. 5, 6, 7, 8, 9, 10, 11, 12, 13, and 14 illustrate various stagesduring printing of a physical model of the 3D model of FIG. 4;

FIG. 15 is a flow chart of an example of a method that may be performedby the system of FIG. 1;

FIG. 16 is a flow chart of an example of a method that may be performedby the system of FIG. 1;

FIG. 17 is a flow chart of another example of a method that may beperformed by the system of FIG. 1;

FIG. 18 is a flow chart of another example of a method that may beperformed by the system of FIG. 1;

FIG. 19 is a flow chart of another example of a method that may beperformed by the system of FIG. 1;

FIG. 20 is a flow chart of another example of a method that may beperformed by the system of FIG. 1;

FIG. 21 is a flow chart of another example of a method that may beperformed by the system of FIG. 1; and

FIG. 22 is a flow chart of another example of a method that may beperformed by the system of FIG. 1.

DETAILED DESCRIPTION

A 3D printer may be a peripheral device that includes an interface to acomputing device. For example, the computing device may be used togenerate or access a 3D model of an object. In this example, acomputer-aided design (CAD) program may be used to generate the 3Dmodel. A slicer application may be to process the 3D model to generatecommands that are executable by the 3D printer to form a physical modelof the object. For example, the slicer application may generate G-code(or other machine instructions) that instruct the controller of the 3Dprinter when and where to move the extruder and provides informationregarding 3D printer settings, such as extruder temperature, materialfeed rate, extruder movement direction, extruder movement speed, amongothers.

The slicer application may generate the G-code or machine instructionsby dividing the 3D model into layers (also referred to as “slices”). Theslicer application determines a pattern of material to be deposited toform a physical model of each slice. Generally, the physical model ofeach slice is formed as a series or set of lines of extruded material.The G-code (or other machine instructions), when executed by thecontroller of the 3D printer, cause the extruder to deposit a set oflines of the material in a pattern to form each layer, and one layer isstacked upon another to form the physical model. Layer stackingarrangements or support members can also be used to form lines of thematerial that are partially unsupported (e.g., arches).

There are many ways that the slicer application can arrange the patternof materials to be deposited to form each layer. Characteristics of a 3Dprint job may vary depending on how the slicer application arranges thepattern lines that make up each of the layers. For example, twodifferent patterns of lines may have different printing characteristics,such as an amount of time used to print the physical model, an amount ofmaterial used to print the physical model, etc. As another example, twodifferent patterns of lines may result in physical models that havedifferent characteristics, such as interlayer adhesion, weight,durability, etc. Accordingly, different slicer applications or differentsettings or configurations of the slicer application can affect theoutcome of a particular 3D print job.

Besides the arrangement of the pattern of materials, other factors canalso affect print quality. For example, during extrusion, some materialshave a tendency to clog or partially clog a nozzle of the extruder. Asthe nozzle begins to clog, the flow properties of the nozzle change. Toillustrate, a decreased flow area of the nozzle can lead to forminglines that have decreased cross-sectional area, which can reduce printquality. Additionally, if a clog breaks loose during extrusion, the clogcan be deposited as a clump or other line deformity. As another example,some materials may aggregate around the nozzle during extrusion to formsclumps that do not occlude the nozzle but can nevertheless lead toproblems. These clumps of material can break loose during extrusion tocause clumps or other line deformities in the deposited material.

Accordingly, one method of improving print quality is to periodically oroccasionally interrupt the extrusion process to clean the extruder. Theextruder can be cleaned by moving the extruder to a cleaning stationthat includes one or more brushes or scrapers. The brushes or scrapersmay be passive such that the extruder is moved across the brushes orscrapers to remove excess material. Alternately, the brushes or scrapersmay be active (e.g., moving linearly or rotating) to contact theextruder to remove excess material. The cleaning station may alsoinclude a waste catcher to catch and retain the removed excess materialaway from the object being printed. The waste catcher may also be usedto purge material from the extruder. For example, material may be purgedfrom the extruder when changing from using a first material to using asecond material. As another example, if the material being deposited isreactive (e.g., cures after being mixed or upon exposure to air) some orall of the material may be purged when the extruder is cleaned to avoidcuring of the material in the extruder.

Different types of extruders may be used to deposit different types ofmaterials (e.g., physically or chemically distinct materials). Forexample, a filament-fed extruder may be used to deposit thermoplasticpolymers, such as polylactic acid (PLA), acrylonitrile butadiene styrene(ABS) polymers, and polyamide, among others. Paste extruders, such aspneumatic or syringe extruders, may be used to deposit materials thatare flowable at room temperature (or at a temperature controlled by the3D printer). Examples of materials that may be deposited using pasteextruders include silicone polymers, polyurethane, epoxy polymers. Pasteextruders may be especially useful to deposit materials that undergocuring upon exposure to air or when mixed together (such asmulti-component epoxies).

Some 3D printers include multiple extruders to improve print speed or toenable printing with multiple different materials. For example, a firstextruder may be used to deposit a first material, and a second extrudermay be used to deposit second material. In this example, the first andsecond materials may have different visual, physical, electrical,chemical, mechanical, and/or other properties. To illustrate, the firstmaterial may have a first color, and the second material may have asecond color. As another illustrative example, the first material mayhave first chemical characteristics (e.g., may be a thermoplasticpolymer), and the second material may have a second chemicalcharacteristics (e.g., may be a thermoset polymer). As yet anotherillustrative example, the first material may be substantiallynon-conductive, and the second material may be conductive. In thisexample, the first material may be used to form a structure or matrix,and the second material may be used to form conductive lines orelectrical components (e.g., capacitors, resistors, inductors) of acircuit.

When a 3D printer uses multiple extruders to deposit multiple materials,one extruder may be idle (i.e., not extruding material) while another isdepositing material. For example, while a first extruder is depositing amatrix material, a second extruder may be idle. Idle extruders may beparticularly subject to clogging since flow of material through theextruder may reduce clogging. If the idle extruder becomes clogged, itcan lead to reduced print quality as a result of clumps in material thatis later deposited by the extruder.

Accordingly, to improve print quality, a print job may be periodicallyor occasionally interrupted to clean or purge an idle extruder. Toillustrate, after a first extruder deposits a first portion of a firstmaterial to form part of a physical object, a second extruder (that wasidle while the first extruder deposited the first portion of the firstmaterial) may be cleaned. Subsequently, the print job may be resumed.For example, the first extruder may deposit a second portion of thefirst material to form another part of a physical object. Alternately,the second extruder may deposit a second material, or a third extrudermay deposit a third material.

In some implementations, the first extruder may also be cleaned whilethe print job is interrupted. For example, cleaning of the firstextruder and of the second extruder may be scheduled so that both arecleaned when either one is to be cleaned.

In some implementations, cleaning operations may be encoded in theG-code or other machine instructions. For example, the slicerapplication may schedule cleaning operations for one extruder or formultiple extruders. In this example, the G-code or other machineinstructions include a sequence of operations associated with printingthe physical model (e.g., extrusion operations, extruder movementoperations, etc.) and at least one cleaning operation is embedded withthe sequence of operations associated with printing the physical model.

In other implementations, cleaning operations may be scheduled orimplemented by the controller of the 3D printer. For example, the slicerapplication may provide G-code or other machine instructions thatspecify a sequence of operations associated with printing the physicalmodel, and, during printing, the controller may interrupt execution ofthe sequence of operations to perform cleaning operations.

The cleaning operations may be performed based on an amount of materialdeposited. For example, the slicer application may determine a quantityof material that will be used to form a portion of the physical model,and the slicer application may insert a cleaning operation into theG-code or machine instructions when the quantity of material that willbe used to form the portion satisfies a threshold. Alternately, thecontroller of the 3D printer may track the quantity of material that hasbeen deposited and interrupt the printer to clean one or more extruderswhen the quantity of material that has been deposited satisfies athreshold. In other implementations, deposition time of an extruder,idle time of an extruder, or both may be determined or tracked toschedule cleaning operations.

Some materials begin curing (i.e., solidifying) upon exposure to air orupon mixing. For example, two-part epoxies include an epoxy resin and ahardening agent. After the epoxy resin and the hardening agent aremixed, the mixture begins to cure. When a 3D printer uses suchmaterials, one or more extruders of the 3D printer may be cleaned orpurged based on a time since mixing the materials (or a time since thematerials were exposed to air). For example, if a material that curesafter mixing is to be used, the slicer application may generate G-code(or other machine instructions) for mixing the materials. In thisexample, the slicer application may cause the materials to be mixedbased on when the mixture will be needed during printing of the physicalmodel. Additionally, the slicer application may track (e.g., by summingdeposition time of all extruders of the 3D printer) when to schedule acleaning operation or a purging operation to prevent the mixture fromcuring in the extruder. In another example, the G-code (or other machineinstructions) include instructions for mixing the materials, and thecontroller of the 3D printer determines (e.g., based on a timer) when toschedule a cleaning operation or a purging operation to prevent themixture from curing in the extruder.

The arrangement of the pattern of materials to be deposited to form eachlayer may be of particular concern for certain materials. For example,certain materials have a tendency to form blobs or other irregularlyshaped deposits (sometimes referred to as “kisses”) at the start of aline, the end of a line, or both. A kiss can cause an issue with layerstacking if a portion of the kiss extends above the layer on which it isdeposited. A kiss can also, or in the alternative, cause an issue withline arrangement with the layer being printed if the kiss extends beyondthe width of its line into an area associated with another line.

Slicing the 3D model in a manner that reduces line starts and stops canreduce the number of kisses in a physical model. The number of linestarts and stops can be reduced by configuring the slicer application touse as few lines as possible (or as few lines as practical in view ofother settings or goals) for each layer. For example, when a lineextends to an edge of the layer, rather than ending the line, liftingthe extruder head and moving to a new location for the next line, theslicer application may instruct the 3D printer to turn the line (e.g.,in a U-turn) to continue the line in another direction.

The number of line starts and stops can also be reduced by extendinglines between layers. For example, when a first layer is complete,rather than ending the line and lifting the extruder head to beginprinting the next layer, the line may be extended to overlay a portionof the first layer to immediately begin printing a portion of the secondlayer. To illustrate, if the first layer is in a horizontal plane, thematerial forming the line may be deposited to form a vertical or obliqueriser up to a plane of the second layer.

As another example, a first portion of a physical model may be formed bystacking multiple layers of material (e.g., a base layer and one or moreadditional layers at least partially overlaying the base layer) beforemoving the extruder head to a different location to form another portionof the base layer. In this example, the multiple layers may be stackedusing a single continuous deposition step (e.g., with one start and onestop).

Another method that may be used to reduce kisses is to performadditional steps at the end of a line. For example, when a line ends,rather than ceasing extruder flow and lifting the extruder head, theextruder head may be caused to move backward (e.g., in a direction backalong the line that was just deposited) as the extruder flow is stopped,as the extruder head is lifted, or both. Alternately, the extruder flowcan be ceased before the line end is reached. After the extruder reachesthe line end, the extruder head can be lifted and moved back along theline. By causing the extruder head to backtrack along the line with flowstopped or as flow stops, potential kiss at the line end can be smoothedout.

Yet another method that may be used to reduce kisses is to controlextruder flow in a manner that accounts for acceleration of the extruderhead. For example, pressure applied to the material being deposited,temperature of the material, filament feed rate, or a combinationthereof, may be used to control a flow rate of material from theextruder. The G-code (or other machine instructions) may includesettings for the temperature, the pressure, the filament feed rate, or acombination thereof. Additionally, the G-code (or other machineinstructions) may include information indicating a velocity (e.g., speedand direction of travel) for movement of the extruder head duringdeposition. At the beginning of a line, the extruder head is not able toinstantaneously achieve the indicated velocity. Rather, due to inertiaand/or settings of the 3D printer, the extruder head velocity graduallyincreases to the indicated velocity. During this acceleration from astarting velocity to the indicated velocity, if the same extruder flowrate is used as is used when the extruder is at the indicated velocity,more material will be deposited at the beginning of the line than in theremainder of the line. A similar issue arises at the end of the line.That is, when the extruder approaches the end of a line, the extruder isnot able to decelerate from the indicated velocity to an ending velocity(e.g., stopped) instantaneously. Rather, the extruder head velocitygradually decreases to the ending velocity. During this deceleration(i.e., negative acceleration), if the same extruder flow rate is used asis used when the extruder is at the indicated velocity, more materialwill be deposited at the end of the line than in the remainder of theline. Accordingly, kisses or other line irregularities can be reduced bycontrolling the flow rate of the extruder based on an acceleration rateof the extruder.

FIG. 1 illustrates a particular embodiment of a system 100 that includesa 3D printer device 101 and a computing device 102. The 3D printerdevice 101 and the computing device 102 may be coupled via acommunications bus 160, which may include a wired or wirelesscommunications interface. The 3D printer device 101 is configured togenerate physical models of objects based on a 3D model or commandsbased on model data.

In a particular embodiment, the computing device 102 includes aprocessor 103 and a memory 104. The computing device 102 may include a3D modeling application 106. The 3D modeling application 106 may enablegeneration of 3D models, which can be used to generate model data 107descriptive of the 3D models. For example, the 3D modeling application106 may include a computer-aided design application.

The computing device 102 or the 3D printer device 101 includes a slicerapplication 108. The slicer application 108 may be configured to processthe model data 107 to generate commands 109 that the 3D printer device101 (or portions thereof) uses during generation of a physical model ofan object represented by the model data 107. In the particularembodiment illustrated in FIG. 1, the commands 109 may include G-codecommands or other machine instructions that are executable by the 3Dprinter device 101 (or a portion thereof). The computing device 102 mayalso include a communications interface 105 that may be coupled via thecommunication bus 160 to the 3D printer device 101. For example, the 3Dprinter device 101 may be a peripheral device that is coupled via acommunication port to the computing device 102.

The 3D printer device 101 includes a frame 110 and support members 111arranged to support various components at the 3D printer device 101. Inparticular embodiments, the 3D printer device 101 may include adeposition platform 112. In other embodiments, the 3D printer device 101does not include a deposition platform 112 and another substrate orsurface may be used for deposition. The 3D printer device 101 alsoincludes one or more printheads. For example, in the embodimentillustrated in FIG. 1, the 3D printer device 101 includes a firstprinthead 113, a second printhead 114, and an Nth printhead 115.Although three particular printheads are illustrated in FIG. 1, in otherembodiments, the 3D printer device 101 may include more than threeprintheads or fewer than three printheads. Each printhead 113-115includes a corresponding extruder with an extruder tip. For example, thefirst printhead 113 includes a first extruder 130 having a firstextruder tip 131, the second printhead 114 includes a second extruder132 having a second extruder tip 133, and the Nth printhead 115 includesan Nth extruder 134 including an Nth extruder tip 135.

Each printhead 113-115 is coupled to receive a material that may bedeposited to form a portion of a physical model of an object. Forexample, the first printhead 113 may be coupled to a first materialcontainer 119 that includes a first material 120. As another example,the second printhead 114 may be coupled to a second material container121 that includes a second material 122. The Nth printhead 115 may becoupled to a mixer 127. The mixer 127 may be coupled to a firstcomponent container 123 and a second component container 125. The firstcomponent container 123 may be configured to retain a first component124, such as a resin. In this example, the second container 125 may beconfigured to contain a second component 126, such as a hardening agent.In the example illustrated in FIG. 1, the first component container 123and the second component container 125 are coupled to the mixer 127 toenable the mixer 127 to generate a mixture 128 that includes a portionof the first component 124 and a portion of the second component 126.The first component 124 and the second component 126 may be selected tobegin hardening upon mixing. Thus, the mixture 128 may begin curing assoon as the mixer 127 has mixed the components.

Proportions of the components 124, 126 supplied to the mixer 127 may becontrolled by a controller 141 of the 3D printer device 101. Thecontroller 141 may also, or in the alternative, control one or moreactuators 143 to move the deposition platform 112 relative to theprintheads 113-115, to move the printheads 113-115 relative to thedeposition platform 112, or both. For example, in a particularconfiguration, the deposition platform 112 may be configured to move ina Z direction 140. In this example, the printheads 113-115 may beconfigured to move in an X direction 138 and a Y direction 139 relativeto the deposition platform 112. Thus, movement of one or more printheads113-115 relative to the deposition platform 112 may involve movement ofthe deposition platform 112, movement of one or more of the printheads113-115, or movement of both the deposition platform 112 and theprintheads 113-115. In other examples, the deposition platform 112 maybe stationary and one or more of the printheads 113-115 may be moved. Inyet other examples, the one or more printheads 113-115 may be stationaryand the deposition platform 112 may be moved.

The 3D printer device 101 of FIG. 1 also includes one or more cleaningstations 136, one or more purging stations 137, or both. The cleaningstations 136 may be configured to clean one or more extruder tips, suchas the first extruder tip 131, the second extruder tip 133, the Nthextruder tip 135, or a combination thereof. In the examples illustratedherein, each extruder tip 131, 133, 135 may be associated with acorresponding cleaning station, as described further below. However, inother examples, one cleaning station may be used for multiple extrudertips 131, 133, 135. The cleaning station 136 may include a scraper,brushes, or other devices that are used to remove particulate or otherforeign matter from the extruder tips 131, 133, 135. In some examples,the cleaning station 136 may be movable relative to the frame 110 orprintheads 113-115. For example, the cleaning station 136 may move tothe printheads 113-115 to clean the corresponding extruder tip ratherthan the printheads 113-115 moving to the cleaning station 136.

The purging station 137 may be configured to receive a material from oneor more of the printheads 113-115 in order to purge an extruder of theprinthead 113-115. For example, the mixture 128 may begin to cure uponmixing. Accordingly, the mixture 128, or a portion thereof, may bepurged occasionally to avoid curing of the mixture 128 within theextruder 134 or within the mixer 127. As an example, when the Nthextruder 134 is purged, the Nth printhead 115 may be moved adjacent toor over the purge station 137, and at least a portion of the mixture 128may be extruded by the extruder 134 into the purge station 137. Thepurge station 137 may be configured to be removable or replaceable suchthat after the mixture 128 cures in the purge station 137, the curedmixture 128 can be removed without damaging components of the 3D printerdevice 101. Other materials used by other extruders may be deposited inthe purge station 137 occasionally. For example, the second material 122may include a paste that begins to cure upon exposure to air. In thisexample, the second extruder 132 may be purged at the purge station 137occasionally to avoid clogging the second extruder tip 133, the secondextruder 132, or both. Further, the first material 120 may include afilament or other thermoplastic polymer, and the first material 120 maybe occasionally purged at the purge station 137 in order to retaindesirable properties of the filament, to avoid clogging the extruder130, or both. When a printhead 113-115 is purged at the purge station137, the printhead 113-115 may also be cleaned at the cleaning station136 to prepare the printhead 113-115 for use.

The 3D printer device 101 may also include a memory 142 accessible tothe controller 141. The controller 141 may include or have access to oneor more timers 144, one or more material counters 145, or both. Thematerial counters 145 may track a quantity of materials in the materialcontainers 119, 121, 123, 125, a quantity of material in the mixer 127,a quantity of each material deposited to form a physical model of anobject, etc. For example, during formation of a first physical model (ora portion of the first physical model), the first material 120 may bedeposited by the first printhead 113. During formation of the firstphysical model, the material counter 145 may track a quantity of thefirst material 120 that has been deposited. The material counter 145 mayalso, or in the alternative, track a quantity of material remaining. Toillustrate, during formation of the first physical model, while thefirst material 120 is being deposited, the material counter 145 maytrack a quantity of the first material 120 that remains in the firstmaterial container 119. As another example, when the mixture 128 isdeposited to form a portion of the physical model, the material counter145 may track a quantity of the mixture 128 remaining in the mixer 127.When the quantity of material remaining in the mixer 127 is below athreshold, the controller 141 may cause the mixture 128 to be purged atthe purge station 137 and may cause the first component container 123and the second component container 125 to provide the first component124 and the second component 126, respectively, to the mixer 127 togenerate a new mixture 128. Alternatively, portions of the firstcomponent 124 and the second component 126 may be added to an existingmixture 128 in the mixer 127.

The timers 144 may track an amount of time associated with particularactivities of the 3D printer device 101. For example, a first timer ofthe timers 144 may track a time since mixing the mixture 128. The timesince mixing the mixture 128 may be used to determine when to purge themixture 128. For example, the mixture 128 may be purged before a curetime associated with the mixture 128 is reached. The timers 144 mayalso, or in the alternatively, track how long a particular printhead113-115 has been idle. For example, during deposition of the firstmaterial 120 to form a portion of a physical model, the second material122 may sit idle in the second printhead 114 or in the second materialcontainer 121. Since the second material 122 may begin to cure uponexposure to air, the portion of the second material 122 exposed at thesecond extruder tip 133 may begin to cure, potentially causing a clog.Accordingly, based on the timers 144 indicating that the secondprinthead 114 has been sitting idle for a threshold amount of time, aprint activity being performed by the 3D printer device 101 may beinterrupted to move the second printhead 114 to the cleaning station136, the purging station 137, or both, to remove a portion of the secondmaterial 122 from the second extruder 132 to avoid clogging the secondextruder 132.

As another example, the timers 144 may indicate how long a particularextruder has been in use. For example, when the first extruder 130 isbeing used to deposit a portion of material corresponding to a physicalobject, the first extruder 130 may be cleaned periodically to removeexcess material that occasionally aggregates around the first extrudertip 131. Thus, based upon the timers 144, a 3D printing operation beingperformed by the 3D printer device 101 may be interrupted, and the firstextruder 130 may be moved to the cleaning station 136, to the purgingstation 137, or both, to clean the first extruder tip 131.

After cleaning of a particular extruder has been performed, the 3Dprinting operations may resume where they left off. For example, whenthe first extruder 130 was being used to form a portion of a physicalmodel, and the timer 144 or the material counter 145 indicated cleaningwas needed, the print activity may be interrupted, the first extruder130 may be cleaned, purged or both, and then the printing activity mayresume with the first extruder 130 depositing the first material to forma second portion of the physical object. Alternatively, cleaningoperations may be scheduled based on the timers 144, the materialcounter 145, or both, such that the cleaning and/or purging operationsoccurs between uses of particular extruders. For example, while thefirst extruder 130 is in use to form a first portion of a physicalmodel, the timers 144, the material counters 145, or both, may reach avalue indicating that cleaning is needed. After the first operationsbeing performed by the first extruder 130 is complete (e.g., when an endpoint associated with the first extruder 130 is reached), the cleaningoperation may be performed. The cleaning operation may include cleaningand/or purging the first extruder 130, the second extruder 132, the Nthextruder, or a combination thereof. After the cleaning operation hasbeen performed, printing operations may resume, for example, with thesecond extruder depositing the second material 122 to form a secondportion of the 3D model of the physical object.

In a particular embodiment, the memory 142 includes cleaning and purgingcontrol instructions 147. The cleaning and purging control instructions147 may include instructions (e.g., a cleaning sequence of instructions,a purging sequence of instructions, or both) that facilitate cleaningand purging of the printheads 113-115. For example, when the controller141 determines that a cleaning operation is to be performed, thecontroller 141 may interrupt operations being performed at the 3Dprinter device 101 and execute the cleaning sequence of instructions ofthe cleaning and purging control instructions 147. As another example,when the controller 141 determines that a purging operation is to beperformed, the controller 141 may interrupt operations being performedat the 3D printer device 101 and execute the purging sequence ofinstructions of the cleaning and purging control instructions 147.

In some implementations, the cleaning and purging control instructions147 may include thresholds associated with the timers 144, thresholdsassociated with the material counters 145, or both. To illustrate, thethresholds may include a cure time associated with the mixture 128 or athreshold time that precedes the cure time at which the mixture 128 isto be purged and/or cleaned. As another example, the thresholds mayinclude a downtime limit associated with one or more of the printheads113-115. The downtime limit may be used to determine whether one or moreof the printheads 113-115 should be cleaned based on a downtime of theparticular printhead. As another example, the thresholds may include usetime thresholds associated with the particular printhead 113-115. Theuse time thresholds may indicate how long a particular printhead 113-115can be in use before cleaning and/or purging of the particular printhead113-115 is needed. As another example, the thresholds may includematerial quantity thresholds that indicate how much material aparticular printhead 113-115 can deposit before cleaning and/or purgingof the particular printhead 113-115 is needed. In some implementations,the thresholds may be stored as part of the settings 150.

The cleaning and purging control instructions 147 may also includeinstructions that cause more than one printhead to be cleaned at a time.For example, when the timers 144 or the material counters 145 indicatesthat the first printhead 113 is to be cleaned, the cleaning and controlinstructions 147 may also cause the second printhead 114, the Nthprinthead 115, or both, to be cleaned, so that multiple cleaningoperations are performed concurrently or sequentially to reduceinterruption to print operations.

The memory 142 may also include calibration data 148. The calibrationdata 148 may include information that indicates relative positions ofthe printheads 113-115. In the particular example illustrated in FIG. 1,the printheads 113-115 may be independently movable by correspondingactuators 143 or may be movable together by one or more actuators 143.The calibration data 148 may indicate distances between printheads113-115, extruder tips 131, 133, 135, or both. Additionally, or in thealternative, the calibration data 148 may include information about rampup speeds associated with the actuators 143. For example, the ramp upspeeds may indicate how quickly a particular printhead 113-115 canaccelerate from stopped to a specified velocity. As another example, thecalibration data 148 may include extrusion rates or deposition ratesassociated with one or more of the printheads 113-115 based onparticular control parameters, such as temperature of the extruder orextruder tip, pressure applied to the extruder or extruder tip, a typeof material being deposited, a material feed rate, or a combinationthereof. For example, the calibration data 148 may include rheology databased on temperature associated with the first material 120, the secondmaterial 122, or the mixture 128. As another example, the calibrationdata 148 may include rheology data associated with the mixture 128 overtime.

The memory 142 may also include test print data 151. The test print data151 may be used to generate at least a portion of the calibration data148. For example, the test print data 151 may include commands togenerate one or more test print objects using multiple of the printheads113-115. Positions, orientations, and other information about the testprint objects may be measured after a test print is performed and themeasurements may be used to adjust the calibration data 148. Forexample, the 3D printer device 101 may include a measurement device,such as a scanning device (not shown), that automatically measures thetest print objects. Alternately, the test print objects may be manuallymeasured and updated calibration data may be provided via a userinterface (not shown) or via the computing device 102.

The memory 142 may also include end-of-line-technique instructions 149.The end-of-line-technique instructions 149 include instructions thatenable formation of line ends having a target width without undesiredcharacteristics, such as bulges and blobs. Examples of end-of-linetechniques are described further with reference to FIGS. 2A-2C and3A-3B. The end-of-line-technique instructions 149 may be applied tocommands provided by an external computing device, such as the computingdevice 102, in order to improve line ends associated with physicalmodels printed by the 3D printer device 101. The end-of-line techniqueinstructions 149 may include instructions to implement the techniquedescribed with reference to FIG. 2C, instructions to implement thetechnique described with reference to FIG. 3B, other end-of-linetechniques, or a combination thereof.

Accordingly, the 3D printer device 101 enables use of multipleprintheads 113-115 with multiple distinct materials, such as the firstmaterial 120, the second material 122, the mixture 128, or a combinationthereof, to form physical models of 3D objects corresponding to modeldata 107. The 3D printer device 101 is able to improve printing outcomesby controlling cleaning and purging of the printheads 113-115 and byusing improved end-of-line techniques.

FIGS. 2A-2C illustrate use of end-of-line deposition techniques. In FIG.2A, an extruder 202 is illustrated depositing a material 204 on asubstrate, such as the deposition platform 112. As the material 204 isextruded from the extruder 202, the tip of the extruder 202 travelsrelative to the deposition platform 112 in a direction 206.

In FIG. 2B, an end of a line being deposited is reached. Using aconventional deposition technique, the extruder 202 ceases extruding thematerial when the end of the line is reached. The extruder 202 issubsequently moved in a direction 208 away from the deposition platform112. Because of residual pressure, a small quantity of the material 204may accumulate at the line end causing a blob 210. Thus, use of theconventional deposition technique illustrated in FIG. 2B may result inundesirable line characteristics, such as the blob 210, which can leadto problems with adhesion of subsequent layers and deformation of thephysical model.

FIG. 2C illustrates use of an improved end-of-line deposition technique.In FIG. 2C, when an end of the line 214 is reached, the tip of theextruder 202 is moved in a direction 212, which is back along the linethat was just deposited and away from the deposition platform 112. Anextrusion rate of the extruder 202 is reduced when the end of the line214 is reach, before the end of the line 214 is reached, or concurrentlywith movement of the tip of the extruder 202 in the direction 212. Asthe tip of the extruder 202 is moved backward along the line and awayfrom the deposition platform 112, any excess material extruded by thetip of the extruder 202 may be spread more evenly along the end of theline 214, resulting in a line with desirable end-of-line qualities. Inparticular, the line does not terminate in a blob, such as the blob 210.The improved end-of-line deposition technique illustrated in FIG. 2C maybe performed by a 3D printing device, such as the 3D printer device 101of FIG. 1, based on the end-of-line-technique instructions 149. The tipof the extruder 202 illustrated in FIGS. 2A-2C may correspond to any ofthe extruder tips 131, 133, 135 of the 3D printer device 101 of FIG. 1.

FIGS. 3A and 3B illustrate end-of-line techniques that may be used by a3D printing device, such as the 3D printer device 101 of FIG. 1. In aparticular embodiment, the end-of-line technique illustrated in FIG. 3Bmay be used by the 3D printer device 101 of FIG. 1 based on theend-of-line techniques instructions 149.

FIG. 3A illustrates a conventional end-of-line technique. In FIG. 3A, agraph 300 illustrates velocity of a printhead relative to a depositionsubstrate, such as the deposition platform 112. The graph 300 alsoindicates an extrusion rate of an extruder of the printhead. Theextrusion rate may include a mass flow rate or an end-of-line flow rate.Alternatively, the extrusion rate may correspond to a control parameterthat is directly or inversely related to the mass or volumetric flowrate, such as a pressure applied to the extruder, a material feed rate,extruder temperature, and so forth.

In the example illustrated in FIG. 3A, the graph 300 shows that when theextruder begins to move, the extrusion rate is adjusted to a desiredextrusion rate value. Thus, the extrusion rate jumps immediately ornearly immediately to the desired extrusion rate while the extrudergradually accelerates to reach a desired movement rate or velocity.Thus, in the graph 300, there is initially a large gap between theextrusion rate and the velocity of the extruder. The gap reduces as theextruder accelerates, and eventually, the gap remains a relativelyconstant.

As a result of the initial gap, a larger quantity of material isdeposited at the beginning of the line 304 than at other portions of theline 304, resulting in a blob 306 at the beginning of the line 304. Theblob 306 has a blob width 310 that is significantly wider than a targetline width 308 of the line 304. The blob 306 results from a differencebetween the amount of time for the extruder to reach a desired velocity(e.g., an acceleration rate of the extruder) and the amount of time forthe extrusion rate to reach a desired extrusion rate. For example, whenthe extruder is a pasted extruder, pressure applied to a plunger of theextruder results in virtually immediate extrusion at the desired rate.In contrast, inertia and mechanical limitations limit a rate at whichthe extruder can accelerate.

FIG. 3B illustrates an improved end-of-line technique in which theextrusion rate is ramped as the velocity of the extruder ramps. Forexample, as illustrated in a graph 320, the extrusion rate (or a controlparameter related to the extrusion rate) may be gradually increasedbased on the acceleration rate of the extruder. Accordingly, there is nolarge gap of the beginning of the line between the velocity of theextruder and the extrusion rate.

A line 324 formed using the end-of-line technique illustrated by thegraph 320 is also illustrated in FIG. 3B. The line 324 has a line end326 having a width approximately the same as the target line width 308.In order to perform the improved end-of-line technique of FIG. 3B, theend-of-line-technique instructions 149 may access the settings 150 todetermine information about the acceleration and extrusion rate of aparticular printhead. Additionally, although FIGS. 3A and 3B onlyillustrate a beginning of a line, similar end-of-line techniques may beperformed at a termination point of a line. For example, although FIG.3B illustrates a relationship between the acceleration rate of anextruder and an extrusion rate of the extruder, a similar relationshipoccurs when the extruder slows down when the end of a line beingdeposited is reached. Accordingly, the extrusion rate of the extrudermay be gradually decreased as the extruder slows down to avoid forming ablob at the end of the line.

FIG. 4 illustrates multiple steps associated with generating commands109, such as G-code instructions, based on a 3D model of an object. InFIG. 4, a 3D model 400 is illustrated as an example of various featuresdisclosed herein. In operation, other 3D models, including 3D modelshaving different shapes, different materials, etc. may be used. The 3Dmodel 400 may include or be based on model data 107 of FIG. 1. In FIG.4, the 3D model 400 is formed of multiple materials, including the firstmaterial 120 and the second material 122. In the example illustrated inFIG. 4, the first material 120 is used as a matrix material, and thesecond material 122 is used as a filler material.

After obtaining the 3D model 400 or the model data 107, a slicerapplication, such as the slicer application 108, may perform slicingoperations to generate the commands 109. In the example illustrated inFIG. 4, preliminary slicing is performed to generate a sliced model 402.The sliced model 402 includes multiple slices 404, 406, only two ofwhich are illustrated. Each slice 404, 406 represents a single layer ofa physical model based on the 3D model. Each layer of the physical modelincludes one or more materials. Accordingly, each slice 404, 406 may bedivided into regions, with each region corresponding to a particularmaterial. For example, the slice 404 includes a first regioncorresponding to a portion of the first material 120 and a second regioncorresponding to a portion of the second material 122. The slice 406includes a first region corresponding to a portion of the first material120 and a second region in which no material is present.

After the sliced model 402 is generated, the slicer application 108 maymodify one or more of the slices based on characteristics of the 3Dprinter device to be used to print the physical model of the 3D model400. For example, the slicer application 108 may access the settings150, the calibration data 148, or both, associated with the 3D printerdevice 101 of FIG. 1. Alternately, the settings 150, the calibrationdata 148, or both, may be accessible at the memory 104 of the computingdevice 102 of FIG. 1.

In the example illustrated in FIG. 4, the slice 414 is modified relativeto the slice 404 of the sliced model 402. For example, in the slice 414,a larger second region associated with the second material has beenprovided. The second region of the slice 414 may be determined based ondimensions associated with an extruder that deposits the secondmaterial. To illustrate, a size of the second region of the slice 414may be determined based on a size of second extruder tip 133. Forexample, in order to improve interlayer adhesion and/or printingcharacteristics, the slicer application 108 may determine that, when thephysical model is printed, a portion of the second material 122 will beembedded within the physical model (e.g., entirely enclosed by the firstmaterial). Accordingly, the slicer application may determine that aninjection technique may be used to deposit at least the embedded portionof the second material. The injection technique may inject the secondmaterial into a tunnel formed by void regions in multiple layers of thefirst material (rather than depositing multiple layers of the secondmaterial, with one layer corresponding to one slice of the sliced model402).

For example, the slicer application may be configured to generatecommands that favor printing one material at a time, and then print witha different material. To illustrate, a first material may be used toform multiple layers corresponding to a set of slices. Even when theslices include regions corresponding to a second material, the slicerapplication may arrange the commands so that all of the regions that usethe first material are printed first. Subsequently, regions that use thesecond material may be printed, such as by printing on a non-planarsurface formed by the first material or by injecting the second materialinto tunnels or voids defined in the first material. When the firstmaterial encloses the second material, the first material may bedeposited until just before the access to a region that is ton includethe second material is closed off, then the second material may bedeposited, as illustrated in FIGS. 10-13.

As illustrated in FIG. 4, the slicer application may modify some slicesto enable using injection techniques. The modified slices may improveprinting using injection technique by, for example, widening the area412 to enable the second extruder tip 133 to fit within the openingcorrespondent to the area 412.

Modifying the slices results in a modified sliced model 410, which maybe further processed. For example, when a slice, such as the slice 414,includes an enclosed void region 418, the slicer application may processthat slice 414 as multiple separate or coupled polygons to limit orreduce starting and stopping a deposition process. During formation of aphysical model corresponding to the 3D model 400, the void region 418may eventually be filled with the second material 122. However, duringdeposition of the first material 120, the void region 418 remains empty.The slicer application 108 may process the slice 414 to generatemultiple polygons, such as a first polygon 420, a second polygon 422, athird polygon 424, and a fourth polygon 426. The multiple polygons420-426 may be generated and arranged such that the void region 418 issurrounded by the polygons 420-426, each polygon 420-426 is adjacent tothe void region 418, and no polygon 420-426 includes an internal voidregion. Thus, each polygon 420-426 may be continuous (without spaces,openings, or holes), so that each polygon 420-426 can be printed usingcontinuous lines thereby limiting starting and stopping a correspondingprinthead.

The second slice 406 may also be processed further. For example, thesecond slice 406 includes multiple regions of the first material 120 anda large gap region in which no material is deposited. In this case, theslicer application 108 may identify and separate the regions to generateseparate stacks 430 and 432. Each separate stack 430, 432 may be treatedas a separate layer for purposes of generating a tool path. For example,a tool path 434 may be generated for the first stack 430, and a toolpath 436 may be generated for the second stack 432. Although notillustrated in FIG. 4, tool paths may also be generated for the polygons420-426 and other slices of the modified sliced model 410. The toolpaths associated with all of the slices and materials together areillustrated in FIG. 4 as a sliced and tool pathed model 440. The slicedand tool pathed model 440 may be processed to generate the commands 109.

In a particular embodiment, tool paths for multiple slices of the slicedand tool pathed model 440 may be determined such that a continuous lineof material extends between multiple layers. For example, as furtherdescribed in FIG. 5, a tool path for multiple layers of a singlematerial may be generated such that a line of material of a first layerextends a second layer, where the second layer is stacked on the firstlayer.

Additionally, in some embodiments, one material may be deposited on anonplanar surface formed by another material. For example, the slicerapplication may generate a tool path for depositing the second materialthat extends across multiple layers of the first material, asillustrated in FIG. 14.

Further, as described above and with reference to FIGS. 10-13, onematerial may be injection-molded within another material. For example,the sliced and tool pathed model 440 is arranged such that a portion ofthe second material 122 is injected within cavities defined within thefirst material 120.

Thus, FIG. 4 illustrates operations that can be formed by a slicerapplication, such as the slicer application 108, to improve printerperformance, to improve interlayer adhesion, to reduce starting andstopping of printing with a particular printhead (e.g., within aparticular layer as well as in between layers). The commands 109 orG-code may be provided to a 3D printing device, such as the 3D printerdevice 101 of FIG. 1, to generate a physical model of the 3D model 400.

FIGS. 5-14 illustrate particular aspects of forming a physical objectbased on a 3D model. In the examples illustrated in FIGS. 5-14,particular aspects of the 3D model 400 is used as examples. For example,the commands 109 may be executed by the 3D printer device of 101 of FIG.1 to build a physical model of the 3D model 400.

FIG. 5 illustrates an extruder 502 coupled to a support member 111 andto a drive belt 510. The extruder 502 may include, correspond to, or beincluded within one of the extruder 130, 132, 134 of FIG. 1. Althoughthe examples illustrated in FIGS. 5-14 include a drive belt 510 coupledto an actuator (not shown), in other examples, the extruder 502 may becoupled to other actuators or devices to move the extruder 502 relativeto the deposition platform 112. Alternately, the deposition platform 112may be moved relative to the extruder 502.

In the example illustrated in FIG. 5, during a first stage of formationof the physical model, the extruder 502 is moved in a direction 506 toform a portion of a first stack 504. The portion of the first stack 504may correspond to the first stack 430 of FIG. 4. FIGS. 5-14 areillustrated from a front view, however, as illustrated more clearly bythe tool path 434 of the first stack 430 of FIG. 4, the first stack 504may include multiple lines or rows of material per layer. In FIG. 5, thefirst stack 504 may be arranged such that a line extends from a firstlayer onto a second layer, where the second layer is stacked on thefirst layer. Thus, in FIG. 5, a portion of the extruded material isstacked at 508. Stacking the material, as illustrated at 508, mayfacilitate interlayered adhesion between layers of the first stack 504.

FIG. 6 illustrates a second stage during formation of the physicalmodel. The second stage may be subsequent to the first stage. In FIG. 6,the extruder 502 is moved in a U-turn or curve 512 in order to follow atool path, such as the tool path 434 illustrated in FIG. 4, to completethe stack 504. The tool path may enable using a single continuous lineof extruded material to form multiple rows of material in a layer.

FIG. 7 illustrates a third stage during formation of the physical model.The third stage may be subsequent to the second stage. In FIG. 7, thefirst stack 504 has been completed to a height (i.e., second height 522)determined based on characteristics of the 3D printer device being used.The second height 522 may be selected by the slicer applicationdescribed with reference to FIG. 4, by the computing device 102, or bythe controller 141 of the 3D printer device 101. The second height 522is less than a distance (e.g., first height 520) between the tip of theextruder 502 and the support member 111 coupled to the extruder 502. Forexample, the second height 522 may be less than the first height 520 byan amount that is less than a thickness of one layer of the first stack(or by an amount that is less than two layers of the first stack 504) toprovide clearance for depositing another stack (such as the second stack514). Thus, the extruder 502 may be able to deposit abase layer of thesecond stack 514 on the deposition platform 112 without the first stack504 coming in contact with the support member 111.

FIG. 8 illustrates a fourth stage during formation of the physicalmodel. The fourth stage may be subsequent to the third stage. In FIG. 8,additional components of the 3D printing device are illustrated. Forexample, members 820 and 822 of a frame are illustrated coupled to thesupport member 111. An extruder 802 is also illustrated. For example,the extruder 502 may include or correspond to the first printhead 113(or the first extruder 130), and the extruder 802 may include orcorrespond to the second printhead 114 (or the second extruder 132) orto the Nth printhead 115 (or the Nth extruder 134).

In the example illustrated in FIG. 8, the extruder 502 is a filamentextruder configured to extrude a filament 810 that is feed to theextruder 502 by drive members 812. A tip of the extruder 502 may beheated to melt the filament 810 for deposition. Further, in the exampleillustrated in FIG. 8, the extruder 802 is a syringe extruder thatincludes a plunger 804 coupled to a drive 806. The drive 806 may includea pneumatic drive (e.g., a pressure regulator and/or valve) or amechanical drive. The drive 806 applies pressure to the plunger 804 tocause a second material 808, to be extruded. The second material mayinclude a paste or a viscous liquid.

Additionally, the 3D printing device illustrated in FIG. 8 includesmultiple cleaning stations, including a first cleaning station 824 and asecond cleaning station 826. The 3D printing device in FIG. 8 alsoincludes multiple purging stations, including a first purging station828 and a second purging station 830. In the example illustrated in FIG.8, the first stack 504 and the second stack 514 have been printed asdescribed with reference to FIGS. 5-7. Additional layers 814 of thefirst material have also been deposited, such that an opening 816 isprovided in a top portion of a partial physical model 801.

FIG. 9 illustrates a fifth stage during formation of the physical model.The fifth stage may be subsequent to the fourth stage. FIG. 9illustrates cleaning the extruder 502. For example, the extruder 502 maybe moved to the first cleaning station 824 to clean a tip of theextruder 502, e.g., to remove a clump 832 of the filament 810 that iscoupled to a tip of the extruder 502. During cleaning, the firstcleaning station 824 may be used to scrape the extruder tip to removethe clump 832.

In FIG. 9, the extruder 502 may be cleaned based on a determination thata deposition operation associated with the extruder 502 is complete.That is, as many layers of the first material as can be depositedwithout beginning to close of the opening 816 have been formed.Alternatively, the extruder 502 may be cleaned based on a timeassociated with forming the partial physical model 801 or on a quantityof material deposited to form the partial physical model 801.

FIG. 10 illustrates a sixth stage during formation of the physicalmodel. The sixth stage may be subsequent to the fifth stage, prior tothe fifth stage, or concurrent with the fifth stage. In FIG. 10, theextruder 802 may be cleaned, purged, or both. In the arrangementillustrated in FIGS. 8-14, the extruders 502 and 802 cannot be cleanedat the same time; however, in other arrangements, cleansing stations maybe arranged to allow cleaning multiple extruders concurrently orsimultaneously.

In a particular example, while the extruder 502 deposits the material toform the partial physical model 801, the second material 808 may sittingunused in the extruder 802. Accordingly, as illustrated in FIG. 10, aportion 834 of the second material 808 may be purged into the secondpurge station 830 and a tip of the extruder 802 may be cleaned using thesecond cleaning station 826 before deposition using the second materialbegins. In other examples, the extruder 802 may be coupled to a mixer,such as the mixer 127, the extruder 802 may be cleaned based on a curetime associated with the mixture. In yet other examples, the extruder802 may not need to be cleaned after formation of the partial physicalmodel 801 and the sixth stage illustrated in FIG. 10 may be omitted.

FIG. 11 illustrates a seventh stage during formation of the physicalmodel. The seventh stage may be subsequent to the fifth stage,subsequent to the sixth stage, or both. In FIG. 11, the extruder 802 isused to deposit a portion of the second material 808 into the opening816 defined in the first material. The second material 808 may beinjected into the opening 816. As illustrated in FIG. 11, the opening816 is sufficiently wide to accommodate a tip of the extruder 802. Insome examples, as illustrated and discussed in FIG. 4, the opening 816may be adjusted relative to an original 3D model, such as the 3D model400, in order to accommodate the tip of the extruder 802, as describedin the modifying slices step of FIG. 4.

FIG. 12 illustrates an eighth stage during formation of the physicalmodel. The eighth stage may be subsequent to the seventh stage. In FIG.12, the second material 808 has been deposited in the partial physicalmodel 801 to form a partial physical model 803 that includes the partialphysical model 801 formed of the first material and filler 844 formed ofthe second material 808. Additionally, the extruder 802 has been movedto the second cleaning station 826 to be cleaned, purged, or both. Forexample, after deposition of the filler 844, a clot 842 may be formed atthe tip of the extruder 802, which may be cleaned and removed at thesecond cleaning station 826. As another example, the extruder 802 may becleaned based on a quantity of the second material 808 deposited to formthe filler 844 satisfying a threshold. As another example, the extruder802 may be cleaned based on a time to deposit the second material 808satisfying a threshold. As yet another example, the extruder 802 may becleaned based on a cure time associated with the second material 808.Although not illustrated in FIG. 12, the extruder 802 may also be purgedduring, before, or after the eighth stage. Similarly, the extruder 502may be cleaned, purged, or both, during, before, or after the eighthstage.

FIG. 13 illustrates a ninth stage during formation of the physicalmodel. The ninth stage may be subsequent to the eighth stage. In FIG.13, after formation of the partial physical model 803, a portion 850 ofthe first material 810 may be deposited to cover the filler 844 and toform a partial physical model 805 having non-planar surface 852.

FIG. 14 illustrates a tenth stage during formation of the physicalmodel. The tenth stage may be subsequent to the ninth stage. In FIG. 14,a portion 854 of the second material 808 is deposited on the non-planarsurface 852. The extruder 802 may follow a curvilinear tool path 856 todeposit the portion 854 on the non-planar surface 852. Deposition of theportion 854 completes formation of a physical model 807 corresponding tothe 3D model 400 of FIG. 4.

FIG. 15 is a flowchart of a particular embodiment of a method 1500 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 1500 may be performed by thecontroller 141 of the 3D printer device executing instructions from thememory 142. As another example, the method 1500 may be performed by theprocessor 103 of the computing device 102 executing instructions fromthe memory 104.

The method 1500 includes, at 1502, obtaining model data representing athree-dimensional (3D) model of an object. For example, the processor103 of FIG. 1 may obtain the model data 107 by reading the model data107 from the memory 104. As another example, the controller 141 mayobtain the model data 107 by receiving the model data 107 via thecommunication interface 146.

The method 1500 includes, at 1504, processing the model data to generatea set of commands to direct a 3D printer device to extrude a material toform a physical model associated with the object. The set of commandsmay be executable to cause an extruder of the 3D printer device todeposit a first portion of the material corresponding to a first portionof the physical model. The set of commands may also be executable tocause the 3D printer device to clean the extruder after depositing thefirst portion of the material. The set of commands may further beexecutable to cause the extruder of the 3D printer device to deposit asecond portion of the material after cleaning the extruder, where thesecond portion of the material corresponds to a second portion of thephysical model.

For example, processing the model data may include performing slicingoperations, such as operations described with reference to FIG. 4, forgenerate the commands 109. The set of commands may include machineinstruction, such as G-code commands. The set of commands may begenerated by the slicer application 108 of the computing device 102.Alternatively, if the 3D printer device 101 includes a slicingapplication, the set of commands may be generated by the controller 141or another processor of the 3D printer device 101.

In some implementations, the method 1500 may also include storing datarepresenting the set of commands, sending data representing the set ofcommands to the 3D printer via a communication interface, or both. Forexample, after the commands 109 of FIG. 1 are generated, the commands109 may be stored at the memory 104 of the computing device 102, sent tothe 3D printer device 101, or both.

In a first implementation, the set of commands is executable to causethe 3D printer device 101 to track a quantity of the material depositedto form the first portion of the physical model. In a secondimplementation, a slicer application (such as the slicer application108) generating the set of commands may determine a quantity of thematerial that will be deposited to form the first portion of thephysical model and may include a cleaning sequence in the set ofcommands based on the quantity of the material deposited satisfying athreshold. In either of these implementations, the set of commands maybe executable to cause the 3D printer device 101 to clean the extruderbased on the quantity of the material deposited satisfying a threshold.For example, in the first implementation, when one of the materialcounters 145 indicates that the first extruder 130 has deposits athreshold quantity of the first material 120, the first extruder 130 maybe cleaned (e.g., to avoid buildup of material around an opening of thefirst extruder tip 131). In the second implementation, the set ofcommands may be arranged sequentially, and the first extruder 130 may becleaned when the cleaning sequence is reached.

Alternately, the first implementation, the second implementation, orboth, may be based on deposition time rather than quantity of materialdeposited. To illustrate, in the first implementation, the set ofcommands is executable to cause the 3D printer device 101 to track adeposition time associated with forming the first portion of thephysical model. In a second implementation, a slicer application (suchas the slicer application 108) generating the set of commands maydetermining a deposition time associated with forming the first portionof the physical model and may include a cleaning sequence in the set ofcommands based on the deposition time satisfying a threshold. In eitherof these implementations, the set of commands may be executable to causethe 3D printer device 101 to clean the extruder based on the depositiontime satisfying a threshold. For example, in the first implementation,when one of the timers 144 indicates that the first extruder 130 hasbeen depositing the first material for a threshold amount of time, thefirst extruder 130 may be cleaned.

In yet another implementation, the set of commands is executable, whilea particular extruder (e.g., the first extruder 130) is in use, to causethe 3D printer device to track downtime of another extruder (e.g., thesecond extruder 132 of the Nth extruder 134 or FIG. 1) that is not inuse and to clean the particular extruder (e.g., the first extruder 130)based on the downtime of the other extruder (e.g., the second extruder132 of the Nth extruder 134) satisfying a threshold.

In some implementations, the set of commands is executable to cause the3D printer to mix two or more components to form the material. Forexample, the set of commands may be executable by the 3D printer device101 to provide the first component 124 (e.g., a resin) and the secondcomponent 126 (e.g., a hardening agent) to the mixer 127 to form themixture 128. In such implementations, the set of commands may cause the3D printer device to clean the extruder based on the time since mixingsatisfying a threshold. For example, the two or more components maybegin to cure upon mixing, and the threshold may be based on a cure timeof the mixture. In such implementations, the material extruded to formthe first portion of the physical model may include or correspond to themixture.

Alternatively, in a particular embodiment, the mixture may be used by asecond extruder. In this embodiment, the set of commands may beexecutable to cause the 3D printer device to clean the second extruderafter depositing the first portion of the material and before depositingthe second portion of the material.

In some implementations, the set of commands is executable to cause the3D printer device to deposit a second material after depositing thefirst portion of the material and before depositing the second portionof the material. The second material may be chemically distinct from thematerial. For example, the 3D model may include a first model portionrepresenting a matrix material (e.g., a first material) and a secondmodel portion representing a filler material (e.g., a second material).In this example, processing the model data may include identifying afirst region of the 3D model that includes the matrix material and asecond region of the 3D model that includes the filler material. Forsome 3D models, at least a portion of the second region may be envelopedby at least a portion of the first region in the 3D model. In thisexample, the processing the model data may also include automaticallymodifying the model data to omit at least a portion of the matrixmaterial from the first region of the 3D model. For example, a portionof the matrix material may be omitted to enable a second extruder tip toenter an opening in the matrix material to deposit the filler material.In this example, dimensions of the portion of the matrix materialomitted from the first region of the 3D model may be determined based onphysical dimensions of the second extruder.

FIG. 16 is a flowchart of a particular embodiment of a method 1600 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 1600 may be performed by thecontroller 141 of the 3D printer device executing instructions from thememory 142. As another example, the method 1600 may be performed by theprocessor 103 of the computing device 102 executing instructions fromthe memory 104.

The method 1600 includes, at 1602, obtaining model data representing athree-dimensional (3D) model of an object. For example, the processor103 of FIG. 1 may obtain the model data 107 by reading the model data107 from the memory 104. As another example, the controller 141 mayobtain the model data 107 by receiving the model data 107 via thecommunication interface 146.

The method 1600 includes, at 1604, processing the model data to generatea set of commands to direct a 3D printer device to extrude one or morematerials to form a physical model associated with the object. The setof commands may be executable to cause a first extruder of the 3Dprinter device to deposit a first portion of a first materialcorresponding to a first portion of the physical model. The set ofcommands may also be executable to cause the 3D printer device to cleana second extruder of the 3D printer after depositing the portion of thefirst material.

For example, processing the model data may include performing slicingoperations, such as operations described with reference to FIG. 4, forgenerate the commands 109. The set of commands may include machineinstruction, such as G-code commands. The set of commands may begenerated by the slicer application 108 of the computing device 102.Alternatively, if the 3D printer device 101 includes a slicingapplication, the set of commands may be generated by the controller 141or another processor of the 3D printer device 101.

In some implementations, the method 1600 may also include storing datarepresenting the set of commands, sending data representing the set ofcommands to the 3D printer via a communication interface, or both. Forexample, after the commands 109 of FIG. 1 are generated, the commands109 may be stored at the memory 104 of the computing device 102, sent tothe 3D printer device 101, or both.

In a first implementation, the set of commands is executable to causethe 3D printer device 101 to track a quantity of the first materialdeposited to form the first portion of the physical model. In a secondimplementation, a slicer application (such as the slicer application108) generating the set of commands may determine a quantity of thefirst material that will be deposited to form the first portion of thephysical model and may include a cleaning sequence in the set ofcommands based on the quantity of the first material depositedsatisfying a threshold. In either of these implementations, the set ofcommands may be executable to cause the 3D printer device 101 to cleanthe second extruder based on the quantity of the material depositedsatisfying a threshold. For example, in the first implementation, whenone of the material counters 145 indicates that the first extruder 130has deposits a threshold quantity of the first material 120, the secondextruder 132 may be cleaned. In the second implementation, the set ofcommands may be arranged sequentially, and the second extruder 132 maybe cleaned when the cleaning sequence is reached.

Alternately, the first implementation, the second implementation, orboth, may be based on deposition time rather than quantity of materialdeposited. To illustrate, in the first implementation, the set ofcommands is executable to cause the 3D printer device 101 to track adeposition time associated with forming the first portion of thephysical model. In a second implementation, a slicer application (suchas the slicer application 108) generating the set of commands maydetermining a deposition time associated with forming the first portionof the physical model and may include a cleaning sequence in the set ofcommands based on the deposition time satisfying a threshold. In eitherof these implementations, the set of commands may be executable to causethe 3D printer device 101 to clean the second extruder based on thedeposition time of the first extruder satisfying a threshold. Forexample, in the first implementation, when one of the timers 144indicates that the first extruder 130 has been depositing the firstmaterial for a threshold amount of time, the second extruder 132 may becleaned.

In yet another implementation, the set of commands is executable, whilethe first extruder 130 is in use, to cause the 3D printer device 101 totrack downtime of the second extruder 132, which is not in use and toclean the second extruder 132 based on the downtime of the secondextruder 132 satisfying a threshold.

In some implementations, the set of commands is executable to cause the3D printer device to mix two or more components to form the firstmaterial or to form a second material used by the second extruder. Forexample, the set of commands may be executable by the 3D printer device101 to provide the first component 124 (e.g., a resin) and the secondcomponent 126 (e.g., a hardening agent) to the mixer 127 to form themixture 128. In such implementations, the set of commands may cause the3D printer device to clean the second extruder based on the time sincemixing satisfying a threshold. In an embodiment, the two or morecomponents may begin to cure upon mixing, and the threshold may be basedon a cure time of the mixture. The mixture may be used by a secondextruder. In this embodiment, the set of commands may be executable tocause the 3D printer device to clean the second extruder afterdepositing the first portion of the first material and before depositinga second portion of the first material.

In some implementations, the set of commands is executable to cause the3D printer device to deposit a second material after depositing thefirst portion of the first material and before depositing a secondportion of the first material. The second material may be chemicallydistinct from the first material. For example, the 3D model may includea first model portion representing a matrix material (e.g., a firstmaterial) and a second model portion representing a filler material(e.g., a second material). In this example, processing the model datamay include identifying a first region of the 3D model that includes thematrix material and a second region of the 3D model that includes thefiller material. For some 3D models, at least a portion of the secondregion may be enveloped by at least a portion of the first region in the3D model. In this example, the processing the model data may alsoinclude automatically modifying the model data to omit at least aportion of the matrix material from the first region of the 3D model.For example, a portion of the matrix material may be omitted to enable asecond extruder tip to enter an opening in the matrix material todeposit the filler material. In this example, dimensions of the portionof the matrix material omitted from the first region of the 3D model maybe determined based on physical dimensions of the second extruder.

FIG. 17 is a flowchart of a particular embodiment of a method 1700 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 1700 may be performed by the 3Dprinter device 101 executing instructions from the memory 142.

The method 1700 includes, at 1702, depositing, using a first extruder ofa three-dimensional (3D) printer device, a first portion of a firstmaterial corresponding to a first portion of a physical model of anobject. For example, the 3D printer device 101 of FIG. 1 may use thefirst extruder 130 to deposit the first material 120 to form a firstportion of a physical model of an object (such as the partial physicalmodel 801 of FIG. 8).

The method 1700 includes, at 1704, cleaning the first extruder afterdepositing the first portion of the first material. For example, thefirst extruder 130 may be cleaned at the cleaning station 136 after thefirst extruder deposits the first material 120 to form a first portionof a physical model of an object. As another example, after the partialphysical model 801 is formed as illustrated in FIG. 8, the extruder 502may be cleaned as illustrated in FIG. 9.

The method 1700 also includes, at 1706, after cleaning the firstextruder, depositing, using the first extruder, a second portion of thefirst material, the second portion of the first material correspondingto a second portion of the physical model. For example, the firstextruder 130 may be may be used to deposit the first material 120 toform a second portion of a physical model of an object after the firstextruder 130 is cleaned. As another example, after the first extruder iscleaned, as illustrated in FIG. 9, the first extruder may be used todeposit a second portion of the physical model, as illustrated in FIG.13.

In some implementations, the method 1700 may also include storing, at amemory of the 3D printer device, data representing a set of commands toform the physical model, sending data representing the set of commandsvia a communication interface, or both. For example, after the commands109 of FIG. 1 are generated, the commands 109 may be stored at thememory 104 of the computing device 102, sent to the 3D printer device101, or both.

In a particular embodiment, the method 1700 includes tracking a quantityof the first material deposited to form the first portion of thephysical model. In this embodiment, the first extruder may be cleanedbased on the quantity of the first material deposited satisfying athreshold.

In a particular embodiment, the method 1700 includes tracking adeposition time associated with forming the first portion of thephysical model. In this embodiment, the first extruder may be cleanedbased on the deposition time satisfying a threshold.

In a particular embodiment, the method 1700 includes tracking downtimeof a second extruder of the 3D printer device. In this embodiment, thefirst extruder may be cleaned based on the downtime of the secondextruder satisfying a threshold.

In a particular embodiment, the method 1700 includes mixing two or morecomponents to form the first material and tracking a time since mixing.In this embodiment, the first extruder may be cleaned based on the timesince mixing satisfying a threshold. For example, the two or morecomponents may include a resin and a hardening agent that begin to cureupon mixing. In this example, the threshold may be based on a cure timeof a mixture including the two or more components. Mixing the two ormore components may include dispensing a resin from a first container ofthe 3D printer device into a mixer of the 3D printer device anddispensing a hardening agent from a second container of the 3D printerdevice into the mixer. The resin and the hardening agent may be mixed inthe mixer, and the mixer may be in fluid communication with the firstextruder.

In a particular embodiment, the method 1700 includes mix two or morecomponents to form a second material associated with a second extruderof the 3D printer device and tracking a time since mixing. In thisembodiment, the first extruder may be cleaned based on the time sincemixing satisfying a threshold. For example, the two or more componentsmay include a resin and a hardening agent that begin to cure uponmixing, and the threshold may be based on a cure time of a mixture. Inthis example, the method 1700 may include cleaning the second extruderafter depositing the first portion of the first material and beforedepositing the second portion of the first material.

The method 1700 may also or in the alternative include, after depositingthe first portion of the first material and before depositing the secondportion of the first material depositing a second material using asecond extruder of the 3D printer device. The second material may bechemically distinct from the first material.

FIG. 18 is a flowchart of a particular embodiment of a method 1800 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 1800 may be performed by the 3Dprinter device 101 executing instructions from the memory 142.

The method 1800 includes, at 1802, depositing, using a first extruder ofa three-dimensional (3D) printer device, a portion of a first materialto form a first portion of a physical model. For example, the 3D printerdevice 101 of FIG. 1 may use the first extruder 130 to deposit the firstmaterial 120 to form a first portion of a physical model of an object(such as the partial physical model 801 of FIG. 8).

The method 1800 includes, at 1804, after depositing the portion of thefirst material, cleaning a second extruder of the 3D printer device. Forexample, after the first extruder 130 is used to deposit the firstmaterial 120 to form the first portion of a physical model, the secondextruder 132 may be cleaned. As another example, after the extruder 502is used to form a first portion of a physical model of an object (suchas the partial physical model 801 FIG. 8), the extruder 802 may becleaned, as illustrated in FIG. 10.

In some implementations, the method 1800 may also include storing, at amemory of the 3D printer device, data representing a set of commands toform the physical model, sending data representing the set of commandsvia a communication interface, or both. For example, after the commands109 of FIG. 1 are generated, the commands 109 may be stored at thememory 104 of the computing device 102, sent to the 3D printer device101, or both.

In a particular embodiment, the method 1800 includes tracking a quantityof the first material deposited to form the first portion of thephysical model. In this embodiment, the second extruder may be cleanedbased on the quantity of the first material deposited satisfying athreshold.

In a particular embodiment, the method 1800 includes tracking adeposition time associated with forming the first portion of thephysical model. In this embodiment, the second extruder may be cleanedbased on the deposition time satisfying a threshold.

In a particular embodiment, the method 1800 includes tracking downtimeof the second extruder of the 3D printer device. In this embodiment, thesecond extruder may be cleaned based on the downtime of the secondextruder satisfying a threshold.

In a particular embodiment, the method 1800 includes mixing two or morecomponents to form the first material and tracking a time since mixing.In this embodiment, the first extruder may be cleaned based on the timesince mixing satisfying a threshold. For example, the two or morecomponents may include a resin and a hardening agent that begin to cureupon mixing. In this example, the threshold may be based on a cure timeof a mixture including the two or more components. Mixing the two ormore components may include dispensing a resin from a first container ofthe 3D printer device into a mixer of the 3D printer device anddispensing a hardening agent from a second container of the 3D printerdevice into the mixer. The resin and the hardening agent may be mixed inthe mixer, and the mixer may be in fluid communication with the firstextruder.

In a particular embodiment, the method 1800 includes mix two or morecomponents to form the first material and tracking a time since mixing.In this embodiment, the second extruder may be cleaned based on the timesince mixing satisfying a threshold. For example, the two or morecomponents may include a resin and a hardening agent that begin to cureupon mixing, and the threshold may be based on a cure time of themixture. In this example, the method 1800 may include cleaning thesecond extruder after depositing the first portion of the firstmaterial.

In a particular embodiment, the method 1800 includes mix two or morecomponents to form a second material associated with the second extruderand tracking a time since mixing. In this embodiment, the secondextruder may be cleaned based on the time since mixing satisfying athreshold. For example, the two or more components may include a resinand a hardening agent that begin to cure upon mixing, and the thresholdmay be based on a cure time of the mixture. In this example, the method1800 may include cleaning the second extruder after depositing the firstportion of the first material.

The method 1800 may also or in the alternative include, after depositingthe first portion of the first material and before depositing a secondportion of the first material depositing a second material using asecond extruder of the 3D printer device. The second material may bechemically distinct from the first material.

FIG. 19 is a flowchart of a particular embodiment of a method 1900 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 1900 may be performed by the 3Dprinter device 101 executing instructions from the memory 142.

The method 1900 includes, at 1902, moving an extruder of a 3D printerdevice relative to a deposition platform of the 3D printer device duringdeposition a material (e.g., a polymer) to form a portion of a firstline. For example, one or more of the extruders 130, 132, 134 of FIG. 1may be moved in the X direction 138, in the Y direction 139, or both,relative to the deposition platform 112. As another example, theextruder 202 of FIG. 2A may be moved in the direction 206 relative tothe deposition platform 112 while the material 204 is deposited to forma portion of a line.

The method 1900 includes, at 1904, after depositing a portion of thematerial corresponding to a first end of the first line, moving theextruder back along the first line and concurrently moving the extruderaway from the deposition platform. For example, after depositing end ofa line, one or more of the extruders 130, 132, 134 of FIG. 1 may bemoved in the X direction 138, in the Y direction 139, or both, relativeto the deposition platform 112 and concurrently moved in the Z direction140 away from the deposition platform. As another example, the extruder202 of FIG. 2C may be moved in the direction 212 which is back along theline formed by the material 204 and away from the deposition platform112. In this context, motion of the extruder relative to the depositionplatform 112 may be accomplished by moving the extruder, moving thedeposition platform, or both. To illustrate, in FIG. 2C, the extruder202 may be moved in a direction opposite the direction 206 of FIG. 2Aand the deposition platform 112 may be lowered to move away from theextruder 202. Alternatively, one of the extruder 202 or the depositionplatform 112 may be stationary while the other is moved.

The method 1900 may also include reducing an extrusion flow rate of theextruder as the extruder moves away from the deposition platform. Forexample, when the extruder is a paste extruder or syringe type extruder,pressure applied to a plunger of the extruder may be reduced as theextruder moves away from the deposition platform. As another example,when the extruder is a filament-fed extruder, a feed rate of thefilament may be reduced as the extruder moves away from the depositionplatform.

In a particular embodiment, the method 1900 may include forming aphysical model by depositing multiple lines of the material includingthe first line. For example, depositing the multiple lines may includeforming a base layer of the material on the deposition platform andstacking multiple layers of the material on the base layer. As anotherexample, depositing the multiple lines may include forming a first stackof multiple layers of the material at a first location relative to thedeposition platform and after forming the first stack, forming a secondstack of multiple layers of the material at a second location relativeto the deposition platform. In this example, the first stack may beformed to a height determined based on a physical configuration of the3D printer device before the second stack is formed. The physicalconfiguration of the 3D printer device may include or correspond to adistance between an extruder tip of the extruder and a support membercoupled to the extruder. To illustrate, in FIGS. 5-7, the first stack504 is formed by depositing a plurality of lines (arranged as layers) onthe deposition platform. After the first stack 504 reaches the secondheight 522 (which is less that the first height 520), the second stack514 is formed. In some embodiments, the first line forms at least aportion of a first layer and at least a portion of a second layer,wherein the second layer is stacked on the first layer, as illustratedin FIG. 5.

In a particular embodiment, the method 1900 may include depositingmultiple layers of the material including the first line to form a firstportion of a physical model defining a non-planar surface and using asecond extruder of the 3D printer device to deposit at least oneadditional material on the non-planar surface to form a second portionof the physical model. For example, after the extruder 502 is used todeposit a first material to form the non-planer surface 852 of FIG. 14,the extruder 802 may be used to deposit a portion of the second material808 on the non-planar surface 852.

FIG. 20 is a flowchart of a particular embodiment of a method 2000 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 2000 may be performed by the 3Dprinter device 101 executing instructions from the memory 142.

The method 2000 includes, at 2002, during extrusion of a material (e.g.,a polymer) by an extruder of a three-dimensional (3D) printer device,moving the extruder relative to a deposition platform of the 3D printerdevice. For example, one or more of the extruders 130, 132, 134 of FIG.1 may be moved in the X direction 138, in the Y direction 139, or both,relative to the deposition platform 112. As another example, theextruder 202 of FIG. 2A may be moved in the direction 206 relative tothe deposition platform 112 while the material 204 is deposited to forma portion of a line.

The method 2000 includes, at 2004, during movement of the extruder,adjusting an extrusion rate of the extruder based on an accelerationrate of relative motion of the extruder and the deposition platform. Forexample, as described with reference to FIG. 3B, the extrusion rate (oran extrusion rate control parameter) may be adjusted based on anacceleration rate of the relative motion of the extruder and thedeposition platform to enable formation of line ends (such as the lineend 326) without deformations or irregularities, such as blobs.

In a particular embodiment, the method 2000 may include forming aphysical model by depositing multiple lines of the material includingthe first line. For example, depositing the multiple lines may includeforming a base layer of the material on the deposition platform andstacking multiple layers of the material on the base layer. As anotherexample, depositing the multiple lines may include forming a first stackof multiple layers of the material at a first location relative to thedeposition platform and after forming the first stack, forming a secondstack of multiple layers of the material at a second location relativeto the deposition platform. In this example, the first stack may beformed to a height determined based on a physical configuration of the3D printer device before the second stack is formed. The physicalconfiguration of the 3D printer device may include or correspond to adistance between an extruder tip of the extruder and a support membercoupled to the extruder. To illustrate, in FIGS. 5-7, the first stack504 is formed by depositing a plurality of lines (arranged as layers) onthe deposition platform. After the first stack 504 reaches the secondheight 522 (which is less that the first height 520), the second stack514 is formed. In some embodiments, the first line forms at least aportion of a first layer and at least a portion of a second layer,wherein the second layer is stacked on the first layer, as illustratedin FIG. 5.

In a particular embodiment, the method 2000 may include depositingmultiple layers of the material including the first line to form a firstportion of a physical model defining a non-planar surface and using asecond extruder of the 3D printer device to deposit at least oneadditional material on the non-planar surface to form a second portionof the physical model. For example, after the extruder 502 is used todeposit a first material to form the non-planer surface 852 of FIG. 14,the extruder 802 may be used to deposit a portion of the second material808 on the non-planar surface 852.

FIG. 21 is a flowchart of a particular embodiment of a method 2100 thatmay be performed by one or more devices or components of the system 100of FIG. 1. For example, the method 2100 may be performed by thecontroller 141 of the 3D printer device executing instructions from thememory 142. As another example, the method 2100 may be performed by theprocessor 103 of the computing device 102 executing instructions fromthe memory 104.

The method 2100 includes, at 2102, obtaining model data representing athree-dimensional (3D) model of an object. For example, the processor103 of FIG. 1 may obtain the model data 107 by reading the model data107 from the memory 104. As another example, the controller 141 mayobtain the model data 107 by receiving the model data 107 via thecommunication interface 146.

The method 2100 includes, at 2104, processing the model data to generatea set of commands to direct a 3D printer device to extrude a material(e.g., a polymer) to form a physical model associated with the object.The set of commands includes one or more first commands to causerelative motion of an extruder of the 3D printer device and a depositionplatform of the 3D printer device during deposition a first portion ofthe material to form a portion of a first line. The one or more firstcommands are further executable to, after depositing a second portion ofthe material corresponding to a first end of the first line, causerelative motion of the extruder and the deposition platform such thatthe extruder moves back along the first line while the extruderconcurrently moves away from the deposition platform. For example, afterdepositing an end of a line, one or more of the extruders 130, 132, 134of FIG. 1 may be moved in the X direction 138, in the Y direction 139,or both, relative to the deposition platform 112 and concurrently movedin the Z direction 140 away from the deposition platform. As anotherexample, the extruder 202 of FIG. 2C may be moved in the direction 212which is back along the line formed by the material 204 and away fromthe deposition platform 112. In this context, motion of the extruderrelative to the deposition platform 112 may be accomplished by movingthe extruder, moving the deposition platform, or both. To illustrate, inFIG. 2C, the extruder 202 may be moved in a direction opposite thedirection 206 of FIG. 2A and the deposition platform 112 may be loweredto move away from the extruder 202. Alternatively, one of the extruder202 or the deposition platform 112 may be stationary while the other ismoved.

The set of commands may also include one or more second commands toreduce an extrusion flow rate of the extruder as the extruder moves backalong the first line and away from the deposition platform. For example,when the extruder is a paste extruder or syringe type extruder, the oneor more second commands may cause pressure applied to a plunger of theextruder to be reduced as the extruder moves away from the depositionplatform. As another example, when the extruder is a filament-fedextruder, the one or more second commands may cause a feed rate of thefilament to be reduced as the extruder moves away from the depositionplatform.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to form a physical model by depositingmultiple lines of the material including the first line. For example,depositing the multiple lines may include forming a base layer of thematerial on the deposition platform and stacking multiple layers of thematerial on the base layer. As another example, depositing the multiplelines may include forming a first stack of multiple layers of thematerial at a first location relative to the deposition platform andafter forming the first stack, forming a second stack of multiple layersof the material at a second location relative to the depositionplatform. In this example, the first stack may be formed to a heightdetermined based on a physical configuration of the 3D printer devicebefore the second stack is formed. The physical configuration of the 3Dprinter device may include or correspond to a distance between anextruder tip of the extruder and a support member coupled to theextruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed bydepositing a plurality of lines (arranged as layers) on the depositionplatform. After the first stack 504 reaches the second height 522 (whichis less that the first height 520), the second stack 514 is formed. Insome embodiments, the first line forms at least a portion of a firstlayer and at least a portion of a second layer, wherein the second layeris stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to deposit multiple layers of the materialincluding the first line to form a first portion of a physical modeldefining a non-planar surface and to cause the 3D printer device to usea second extruder to deposit at least one additional material on thenon-planar surface to form a second portion of the physical model. Forexample, after the extruder 502 is used to deposit a first material toform the non-planer surface 852 of FIG. 14, the extruder 802 may be usedto deposit a portion of the second material 808 on the non-planarsurface 852.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to form the physical model by stackingmultiple layers of the material, where the 3D model defines a voidregion within an area corresponding to at least one layer of themultiple layers. In this embodiment, the set of commands may cause the3D printer device to form the at least one layer as a set of polygonsadjacent to a location corresponding to the void region. For example,the set of polygons may be formed such that no polygon of the set ofpolygons circumscribes the location corresponding to the void region. Toillustrate, as shown in FIG. 4, when a slicer application identifies thevoid region 418 within the slice 414, the slicer application may formthe set of polygons 420, 422, 424, 426 that circumscribe the void region418. Thus, the set of commands 109 includes cause a physical model ofthe slice 414 to be formed by applying lines to form physical models ofthe polygons 420, 422, 424, 426.

FIG. 22 is a flowchart of a particular embodiment of a method that maybe performed by one or more devices or components of the system 100 ofFIG. 1. For example, the method 2200 may be performed by the controller141 of the 3D printer device executing instructions from the memory 142.As another example, the method 2200 may be performed by the processor103 of the computing device 102 executing instructions from the memory104.

The method 2200 includes, at 2202, obtaining model data representing athree-dimensional (3D) model of an object. For example, the processor103 of FIG. 1 may obtain the model data 107 by reading the model data107 from the memory 104. As another example, the controller 141 mayobtain the model data 107 by receiving the model data 107 via thecommunication interface 146.

The method 2200 includes, at 2204, processing the model data to generatea set of commands to direct a 3D printer device to extrude a material(e.g., a polymer) to form a physical model associated with the object.The set of commands includes one or more first commands to causerelative motion of an extruder of the 3D printer device and a depositionplatform of the 3D printer device during deposition of a portion of thematerial corresponding to a line. The set of commands further includesone or more second commands to adjust an extrusion rate of the extruderbased on an acceleration rate of the relative motion. For example, theset of commands may be executable to cause an extrusion rate of one ofmore of the extruders 130, 132, 134 to be adjusted based on anacceleration rate of the extruder, as described further with referenceto FIG. 3B.

In some implementations, the one or more first commands define amovement rate of the relative motion, such as a movement rate of theextruder. In such implementations, the acceleration rate of the relativemotion may be determined based on settings of the 3D printer device. Forexample, the settings 150 of FIG. 1 may indicate a rate (or a maximumrate) at which the actuators 143 are to change a velocity of therelative motion of the extruders 130, 132, 134 and the depositionplatform. Alternately, in such implementations, the acceleration rate ofthe relative motion may be determined based on a hardware configurationof the 3D printer device. For example, the memory 142 of FIG. 1 mayinclude information indicating a rate (or a maximum rate) at which theactuators 143 are to change a velocity of the relative motion of theextruders 130, 132, 134 and the deposition platform.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to form a physical model by depositingmultiple lines of the material including the first line. For example,depositing the multiple lines may include forming a base layer of thematerial on the deposition platform and stacking multiple layers of thematerial on the base layer. As another example, depositing the multiplelines may include forming a first stack of multiple layers of thematerial at a first location relative to the deposition platform andafter forming the first stack, forming a second stack of multiple layersof the material at a second location relative to the depositionplatform. In this example, the first stack may be formed to a heightdetermined based on a physical configuration of the 3D printer devicebefore the second stack is formed. The physical configuration of the 3Dprinter device may include or correspond to a distance between anextruder tip of the extruder and a support member coupled to theextruder. To illustrate, in FIGS. 5-7, the first stack 504 is formed bydepositing a plurality of lines (arranged as layers) on the depositionplatform. After the first stack 504 reaches the second height 522 (whichis less that the first height 520), the second stack 514 is formed. Insome embodiments, the first line forms at least a portion of a firstlayer and at least a portion of a second layer, wherein the second layeris stacked on the first layer, as illustrated in FIG. 5.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to deposit multiple layers of the materialincluding the first line to form a first portion of a physical modeldefining a non-planar surface and to cause the 3D printer device to usea second extruder to deposit at least one additional material on thenon-planar surface to form a second portion of the physical model. Forexample, after the extruder 502 is used to deposit a first material toform the non-planer surface 852 of FIG. 14, the extruder 802 may be usedto deposit a portion of the second material 808 on the non-planarsurface 852.

In a particular embodiment, the set of commands may be executable tocause the 3D printer device to form the physical model by stackingmultiple layers of the material, where the 3D model defines a voidregion within an area corresponding to at least one layer of themultiple layers. In this embodiment, the set of commands may cause the3D printer device to form the at least one layer as a set of polygonsadjacent to a location corresponding to the void region. For example,the set of polygons may be formed such that no polygon of the set ofpolygons circumscribes the location corresponding to the void region. Toillustrate, as shown in FIG. 4, when a slicer application identifies thevoid region 418 within the slice 414, the slicer application may formthe set of polygons 420, 422, 424, 426 that circumscribe the void region418. Thus, the set of commands 109 includes cause a physical model ofthe slice 414 to be formed by applying lines to form physical models ofthe polygons 420, 422, 424, 426.

The illustrations of the examples described herein are intended toprovide a general understanding of the structure of the variousimplementations. The illustrations are not intended to serve as acomplete description of all of the elements and features of apparatusand systems that utilize the structures or methods described herein.Many other implementations may be apparent to those of skill in the artupon reviewing the disclosure. Other implementations may be utilized andderived from the disclosure, such that structural and logicalsubstitutions and changes may be made without departing from the scopeof the disclosure. For example, method operations may be performed in adifferent order than shown in the figures or one or more methodoperations may be omitted. Accordingly, the disclosure and the figuresare to be regarded as illustrative rather than restrictive.

Moreover, although specific examples have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar results may be substituted forthe specific implementations shown. This disclosure is intended to coverany and all subsequent adaptations or variations of variousimplementations. Combinations of the above implementations, and otherimplementations not specifically described herein, will be apparent tothose of skill in the art upon reviewing the description.

The Abstract of the Disclosure is submitted with the understanding thatit will not be used to interpret or limit the scope or meaning of theclaims. In addition, in the foregoing Detailed Description, variousfeatures may be grouped together or described in a single implementationfor the purpose of streamlining the disclosure. Examples described aboveillustrate but do not limit the disclosure. It should also be understoodthat numerous modifications and variations are possible in accordancewith the principles of the present disclosure. As the following claimsreflect, the claimed subject matter may be directed to less than all ofthe features of any of the disclosed examples. Accordingly, the scope ofthe disclosure is defined by the following claims and their equivalents.

What is claimed is:
 1. A three-dimensional (3D) printer devicecomprising: an extruder configured to deposit a material on a depositionplatform; an actuator coupled to at least one of the extruder or thedeposition platform; and a controller coupled to the actuator, thecontroller configured to cause the extruder to deposit a first portionof the material corresponding to a first line, and after depositing asecond portion of the material corresponding to a first end of the firstline, to cause relative motion of the extruder and the depositionplatform such that the extruder moves back along the first line whilethe extruder concurrently moves away from the deposition platform. 2.The 3D printer of claim 1, wherein the controller is further configuredto reduce an extrusion flow rate of the extruder as the extruder movesaway from the deposition platform.
 3. The 3D printer of claim 2, whereinthe extruder is a syringe extruder, and wherein the extrusion flow rateis reduced by decreasing pressure applied to a plunger of the syringeextruder.
 4. The 3D printer of claim 1, wherein the material includes apolymer.
 5. The 3D printer of claim 1, wherein the controller is furtherconfigured to send signals to the actuator and the extruder to controlformation of a physical model of an object by forming a first stack ofmultiple layers of the material at a first location relative to thedeposition platform before forming a second stack of multiple layers ofthe material at a second location relative to the deposition platform.6. The 3D printer of claim 5, wherein the controller is configured tocause the first stack to be formed to a height determined based on aphysical configuration associated with the extruder before beginningformation of the second stack.
 7. The 3D printer of claim 6, wherein thephysical configuration corresponds to a distance between an extruder tipand a support member coupled to the extruder.
 8. The 3D printer of claim1, further comprising a second extruder, wherein the controller isconfigured to cause the extruder to deposit multiple layers of thematerial to form a first portion of a physical model defining anon-planar surface and to cause the second extruder to deposit at leastone additional material on the non-planar surface to form a secondportion of the physical model.
 9. The 3D printer of claim 1, wherein thefirst line forms at least a portion of a first layer and forms at leasta portion of a second layer, wherein the second layer is stacked on thefirst layer.
 10. A three-dimensional (3D) printer device comprising: anextruder configured to deposit a material on a deposition platform; anactuator coupled to at least one of the extruder or the depositionplatform; and a controller coupled to the actuator, the controllerconfigured to cause the actuator to cause relative motion of theextruder and the deposition platform during deposition of a portion ofthe material corresponding to a line and to adjust a flow rate of theextruder based on an acceleration rate of the relative motion.
 11. The3D printer of claim 10, wherein the extruder is a syringe extruder, andwherein the flow rate of the extruder is adjusted by changing pressureapplied to a plunger of the syringe extruder.
 12. The 3D printer ofclaim 10, wherein the material includes a polymer.
 13. The 3D printer ofclaim 10, wherein the controller is further configured to send signalsto the actuator and the extruder to control formation of a physicalmodel of an object by forming a first stack of multiple layers of thematerial at a first location relative to the deposition platform beforeforming a second stack of multiple layers of the material at a secondlocation relative to the deposition platform.
 14. The 3D printer ofclaim 13, wherein the controller is configured to cause the first stackto be formed to a height determined based on a physical configurationassociated with the extruder before beginning formation of the secondstack.
 15. The 3D printer of claim 14, wherein the physicalconfiguration corresponds to a distance between an extruder tip and asupport member coupled to the extruder.
 16. The 3D printer of claim 10,further comprising a second extruder, wherein the controller isconfigured to cause the extruder to deposit multiple layers of thematerial to form a first portion of a physical model defining anon-planar surface and to cause the second extruder to deposit at leastone additional material on the non-planar surface to form a secondportion of the physical model.
 17. The 3D printer of claim 10, whereinthe line forms at least a portion of a first layer and forms at least aportion of a second layer, wherein the second layer is stacked on thefirst layer.
 18. A method comprising: obtaining model data representinga three-dimensional (3D) model of an object; and processing the modeldata to generate a set of commands to direct a 3D printer device toextrude a material to form a physical model associated with the object,the set of commands including one or more first commands to causerelative motion of an extruder of the 3D printer device and a depositionplatform of the 3D printer device during deposition a first portion ofthe material to form a portion of a first line, and after depositing asecond portion of the material corresponding to a first end of the firstline, to cause relative motion of the extruder and the depositionplatform such that the extruder moves back along the first line whilethe extruder concurrently moves away from the deposition platform. 19.The method of claim 18, wherein the set of commands further includes oneor more second commands to reduce an extrusion flow rate of the extruderas the extruder moves back along the first line and away from thedeposition platform.
 20. The method of claim 18, wherein the materialincludes a polymer.
 21. The method of claim 18, wherein the set ofcommands is executable by the 3D printer device to form the physicalmodel by depositing a base layer of the material on the depositionplatform and by stacking multiple layers of the material on the baselayer, and wherein the set of commands causes the 3D printer device toform a first stack of multiple layers of the material at a firstlocation relative to the deposition platform before forming a secondstack of multiple layers of the material at a second location relativeto the deposition platform.
 22. The method of claim 21, wherein thefirst stack includes a first portion of the base layer deposited at thefirst location and includes a first plurality of layers stacked on thefirst portion of the base layer, and wherein the second stack includes asecond portion of the base layer deposited at the second location andincludes a second plurality of layers stacked on the second portion ofthe base layer.
 23. The method of claim 21, wherein the first stackincludes a first plurality of layers stacked above the depositionplatform at the first location, and wherein the second stack includes asecond plurality of layers stacked above the deposition platform at thesecond location.
 24. The method of claim 21, wherein, before forming thesecond stack, the first stack is formed to a height determined based ona physical configuration of the 3D printer device.
 25. The method ofclaim 24, wherein the physical configuration corresponds to a distancebetween an extruder tip and a support member.
 26. The method of claim18, wherein the 3D printer device is configured to extrude the materialand at least one additional material, and wherein the set of commands isexecutable by the 3D printer device to deposit multiple layers of thematerial to form a first portion of the physical model defining anon-planar surface before depositing the at least one additionalmaterial on the non-planar surface to form a second portion of thephysical model.
 27. The method of claim 18, wherein the set of commandsis executable by the 3D printer device to form the physical model bystacking multiple layers of the material, wherein the 3D model defines avoid region within an area corresponding to at least one layer of themultiple layers, and wherein the set of commands causes the 3D printerdevice to form the at least one layer as a set of polygons adjacent to alocation corresponding to the void region.
 28. The method of claim 27,wherein no polygon of the set of polygons circumscribes the locationcorresponding to the void region.
 29. The method of claim 18, whereinthe set of commands is executable by the 3D printer device to form thephysical model by stacking multiple layers of the material, wherein thefirst line forms at least a portion of a first layer of the multiplelayers and forms at least a portion of a second layer of the multiplelayers, wherein the second layer is stacked on the first layer.
 30. Amethod comprising: obtaining model data representing a three-dimensional(3D) model of an object; and processing the model data to generate a setof commands to direct a 3D printer device to extrude a material to forma physical model associated with the object, the set of commandsincluding one or more first commands to cause relative motion of anextruder of the 3D printer device and a deposition platform of the 3Dprinter device during deposition of a portion of the materialcorresponding to a line, the set of commands further including one ormore second commands to adjust an extrusion rate of the extruder basedon an acceleration rate of the relative motion.
 31. The method of claim30, wherein the one or more first commands define a movement rate of therelative motion, and the acceleration rate of the relative motion isdetermined based on settings of the 3D printer device.
 32. The method ofclaim 30, wherein the one or more first commands define a movement rateof the relative motion, and the acceleration rate of the relative motionis determined based on a hardware configuration of the 3D printerdevice.
 33. The method of claim 30, wherein the material includes apolymer.
 34. The method of claim 30, wherein the set of commands isexecutable by the 3D printer device to form the physical model bydepositing a base layer of the material on the deposition platform andby stacking multiple layers of the material on the base layer, andwherein the set of commands causes the 3D printer device to form a firststack of multiple layers of the material at a first location relative tothe deposition platform before forming a second stack of multiple layersof the material at a second location relative to the depositionplatform.
 35. The method of claim 34, wherein the first stack includes afirst portion of the base layer deposited at the first location andincludes a first plurality of layers stacked on the first portion of thebase layer, and wherein the second stack includes a second portion ofthe base layer deposited at the second location and includes a secondplurality of layers stacked on the second portion of the base layer. 36.The method of claim 34, wherein the first stack includes a firstplurality of layers stacked above the deposition platform at the firstlocation, and wherein the second stack includes a second plurality oflayers stacked above the deposition platform at the second location. 37.The method of claim 34, wherein, before forming the second stack, thefirst stack is formed to a height determined based on a physicalconfiguration of the 3D printer device.
 38. The method of claim 37,wherein the physical configuration corresponds to a distance between anextruder tip and a support member.
 39. The method of claim 30, whereinthe 3D printer device is configured to extrude the material and at leastone additional material, and wherein the set of commands is executableby the 3D printer device to deposit multiple layers of the material toform a first portion of the physical model defining a non-planar surfacebefore depositing the at least one additional material on the non-planarsurface to form a second portion of the physical model.
 40. The methodof claim 30, wherein the set of commands is executable by the 3D printerdevice to form the physical model by stacking multiple layers of thematerial, wherein the 3D model defines a void region within an areacorresponding to at least one layer of the multiple layers, and whereinthe set of commands causes the 3D printer device to form the at leastone layer as a set of polygons adjacent to a location corresponding tothe void region.
 41. The method of claim 40, wherein no polygon of theset of polygons circumscribes the location corresponding to the voidregion.
 42. The method of claim 30, wherein the set of commands isexecutable by the 3D printer device to form the physical model bystacking multiple layers of the material, wherein a first line of thematerial forms at least a portion of a first layer of the multiplelayers and at least a portion of a second layer of the multiple layers,wherein the second layer is stacked on the first layer.
 43. A methodcomprising: moving an extruder of a three-dimensional (3D) printerdevice relative to a deposition platform of the 3D printer device duringdeposition a material to form a portion of a first line; and afterdepositing a portion of the material corresponding to a first end of thefirst line, moving the extruder back along the first line andconcurrently moving the extruder away from the deposition platform. 44.The method of claim 43, further comprising reducing an extrusion flowrate of the extruder as the extruder moves away from the depositionplatform.
 45. The method of claim 43, wherein the material includes apolymer.
 46. The method of claim 43, further comprising forming aphysical model by depositing multiple lines of the material includingthe first line, wherein depositing the multiple lines includes: forminga base layer of the material on the deposition platform; and stackingmultiple layers of the material on the base layer.
 47. The method ofclaim 43, further comprising forming a physical model by depositingmultiple lines of the material including the first line, whereindepositing the multiple lines includes: form a first stack of multiplelayers of the material at a first location relative to the depositionplatform; and after forming the first stack, forming a second stack ofmultiple layers of the material at a second location relative to thedeposition platform.
 48. The method of claim 47, wherein, before formingthe second stack, the first stack is formed to a height determined basedon a physical configuration of the 3D printer device.
 49. The method ofclaim 48, wherein the physical configuration corresponds to a distancebetween an extruder tip of the extruder and a support member coupled tothe extruder.
 50. The method of claim 43, further comprising: depositingmultiple layers of the material including the first line to form a firstportion of a physical model defining a non-planar surface; and afterdepositing the multiple layers of the material, depositing, using asecond extruder of the 3D printer device, at least one additionalmaterial on the non-planar surface to form a second portion of thephysical model.
 51. The method of claim 43, wherein the first line formsat least a portion of a first layer of multiple layers of a physicalmodel and forms at least a portion of a second layer of the multiplelayers, wherein the second layer is stacked on the first layer.
 52. Amethod comprising: during extrusion of a material by an extruder of athree-dimensional (3D) printer device, moving the extruder relative to adeposition platform of the 3D printer device; and during movement of theextruder, adjusting an extrusion rate of the extruder based on anacceleration rate of relative motion of the extruder and the depositionplatform.
 53. The method of claim 52, wherein the material includes apolymer.
 54. The method of claim 52, wherein extrusion of a material isused to form a physical model by depositing a base layer of the materialon the deposition platform and by stacking multiple layers of thematerial on the base layer, and further comprising: forming a firststack of multiple layers of the material at a first location relative tothe deposition platform; and after forming the first stack, forming asecond stack of multiple layers of the material at a second locationrelative to the deposition platform.
 55. The method of claim 54,wherein, before forming the second stack, the first stack is formed to aheight determined based on a physical configuration of the 3D printerdevice.
 56. The method of claim 55, wherein the physical configurationcorresponds to a distance between an extruder tip and a support membercoupled to the extruder.
 57. The method of claim 52, further comprising:depositing multiple layers of the material to form a first portion of aphysical model defining a non-planar surface; and after depositing themultiple layers of the material, depositing, using a second extruder ofthe 3D printer device, at least one additional material on thenon-planar surface to form a second portion of the physical model. 58.The method of claim 52, wherein the material extruded during movement ofthe extruder forms at least a portion of a first layer of multiplelayers of the material and forms at least a portion of a second layer ofthe multiple layers, wherein the second layer is stacked on the firstlayer.